#include "myhead.h"

//获取坐标
int Get_side()
{
    //3.定义一个input_event结构体类型变量来保存read的数据
    struct input_event ts_event;
    int x, y;
    // 提取坐标值
    while (read(ts_fd1, &ts_event, sizeof(struct input_event)) > 0)
    {
        if (ts_event.type == EV_ABS)
        {
            if (ts_event.code == ABS_X)
                x = ts_event.value;
            else if (ts_event.code == ABS_Y)
                y = ts_event.value;
        }
        // 按下
        if (ts_event.type == EV_KEY &&
            ts_event.code == BTN_TOUCH &&
            ts_event.value == 1)
        {
            x_s = x*(800.0/1024.0);
            y_s = y*(480.0/600.0);
        }
        // 松手
        if (ts_event.type == EV_KEY &&
            ts_event.code == BTN_TOUCH &&
            ts_event.value == 0)
        {
            x_e = x*(800.0/1024.0);
            y_e = y*(480.0/600.0);

            printf("x: %d  y: %d  x1: %d  y1: %d\n",x_s,y_s,x_e,y_e);
            break;
        }
    }

    return 0;
}

//传入坐标，并判断进行了什么动作
int Analyze_Coordinates()
{
    //2.获得坐标   x--x坐标的变化量   y--y坐标的变化量
    int x,y;

    x = x_e - x_s ; // 计算横向的差值
    y = y_e - y_s ; // 计算纵向的差值

    printf("x_s:%d,y_s:%d,x_e:%d,y_e:%d\n",x_s,y_s,x_e,y_e);

    if (abs(x) > abs(y))
    {
        /* 当前为左右滑动 */
        if (x > 0 )
        {
            /* 右滑 */
            return RIGHT ;
        }else{
            /* 左滑 */
            return LEFT ;
        }
        
    }
    else if (abs(x) < abs(y))
    {
        /* 当前为上下滑动 */
        if (y > 0 )
        {
            /* 下滑 */
            return DOWN ;
        }else{
            /* 上滑 */
            return UP ;
        }
    }
    //点击
    else if(x_s == x_e && y_s == y_e)
        {
            return CLICK;
        }
}

//传入坐标，判断在音乐界面点击了什么功能
int Analyze_Music_Coordinates()
{
    // //分析坐标
    // int num = show_coordinate();

    if(x_s > 370 && x_s < 430 && y_s > 420 && y_e < 480)
    {
        //用户点击了播放或暂停
        printf("点击了播放或暂停\n");
        return 1;
    }
    else if(x_s > 300 && x_s < 360 && y_s > 420 && y_e < 480)
    {
        //用户点击了上一首
        printf("点击了上一首\n");
        return 2;
    }
    else if(x_s > 440 && x_s < 500 && y_s > 420 && y_e < 480)
    {
        //用户点击了下一首
        printf("点击了下一首\n");
        return 3;
    }
    else if(x_s > 230 && x_s < 290 && y_s > 420 && y_e < 480)
    {
        //用户点击了后退
        printf("点击了后退\n");
        return 4;
    }
    else if(x_s > 510 && x_s < 570 && y_s > 420 && y_e < 480)
    {
        //用户点击了快进
        printf("点击了快进\n");
        return 5;
    }
    else if(x_s > 650 && x_s < 710 && y_s > 360 && y_e < 420)
    {
        //用户点击了上一页
        printf("点击了上一页\n");
        return 6;
    }
    else if(x_s > 740 && x_s < 800 && y_s > 360 && y_e < 420)
    {
        //用户点击了下一页
        printf("点击了下一页\n");
        return 7;
    }
    else if(x_s > 0 && x_s < 80 && y_s > 370 && y_e < 420)
    {
        //用户点击了倍速
        printf("点击了倍速\n");
        return 8;
    }
    else if(x_s > 0 && x_s < 60 && y_s > 420 && y_e < 480)
    {
        //用户点击了静音
        printf("点击了静音\n");
        return 9;
    }
    
    printf("判断失败\n");
    return 0;
}